//
//  UITableView+Refresh.h
//  LotteryClient
//
//  Created by Sunyon 14-4-24.
//  Copyright (c) 2014年 CTTC. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "EGORefreshTableHeaderView.h"

enum
{
	UITableViewLoadMoreStyleNon = 0,  //不使用 加载更多功能
	UITableViewLoadMoreStyle1 = 1,    //使用 上拉加载更多功能
	UITableViewLoadMoreStyle2 = 2     //使用 点击加载更多功能
};

typedef NSUInteger UITableViewLoadMoreStyle;

@protocol UITableViewRefreshDelegate <UITableViewDelegate>

@optional
/*!
 *  下拉刷新 代理方法
 *
 *  @param tableView 执行下拉刷新的tableview
 */
- (void)doneLoadingTableViewData:(UITableView *)tableView;

/*!
 *  点击加载更多代理方法
 *
 *  @param tableView 执行点击更多的tableview
 */
- (void)doneLoadMoreData:(UITableView *)tableView;
@end

@interface UITableView (Refresh)
/*!
 *  是否使用下啦刷新功能
 *  一定要在 tableview.delegate赋值后设置此属性
 *  如果开启后，在tableview释放前需要关闭此功能，否则后内存泄漏
 */
@property (nonatomic,assign)BOOL isOpenRefreshFun;
/*!
 *  是否正在下拉刷新操作
 *
 */
@property (nonatomic,readonly)BOOL isRefreshing;

@property (nonatomic,readonly)BOOL isLoadingMore;


/*!
 *  设置加载更多 样式
 */
@property (nonatomic,assign)UITableViewLoadMoreStyle loadMoreStyle;


@property (nonatomic,readonly)EGORefreshTableHeaderView *refreshHeaderView;

/*!
 *  完成下拉刷新操作后需要调用
 */
- (void)finishLoadingTableViewData;

/*!
 *  完成加载更多操作后需要调用
 */
- (void)finishLoadMoreTableViewData;

/**
 *  自动 下拉 调用刷新数据
 */
- (void)refreshTable;

@end
